Paketet dplyr innehåller funktioner som gör det lättare att arbeta med ett dataset.
Vi ska här titta på några funktioner som
Skapar ett nytt dataset som inkluderar enbart vissa rader från vårt ursprungliga dataset.
Skapar ett nytt dataset som inkluderar enbart vissa rader baserat på värdet av en variabel.
Skapar ett dataset inkluderar enbart vissa kolumner från vårt ursprungliga dataset.
Lägger till nya variabler eller förändrar en ursprungsvariabel.
Vi demonstrerar funktionerna med ett dataset som heter iris, med data om bladstorlek på tre olika blomarter.
#Läs in paketet dplyrlibrary(dplyr) |>suppressMessages() |>suppressWarnings() # Gör datasetet iris tillgängligtdata(iris)# Titta på de första radernahead(iris)
Varje rad representerar en blomma som tillhör Iris-familjen. De 4 numeriska variablerna är olika mått på bladens storlek. Den femte variabeln Species anger vilken art blomman tillhör. Arten kan vara setosa, versicolor eller virginica.
slice: Välj ut rader med hjälp av radnummer
Med slice kan du skapa ett dataset som enbart inkluderar vissa rader ur vårt ursprungliga dataset. Iris innehåller 150 rader. Följade kod delar in datasetet iris i två olika dataset - ett som inkluderar de första 100 raderna och ett som inkluderar de sista 50.
Låt oss bryta ned den första kodraden i mindre delar:
iris_first100 <- betyder att du vill skapa ett nytt objekt som heter iris_first100.
iris %>% betyder att du utgår från datasetet iris.
slice(1:100) betyder att ditt nya objekt (iris_first100) ska vara ett dataset som inkluderar rad 1 till rad 100 från iris.
filter: Välj ut rader med hjälp av villkor
Precis som slice används filter för att välja ut ett antal rader som ska inkluderas i ett nytt dataset. Med filter anger du dock inte vilka radnummer du vill inkludera. Istället anger du villkor för att en viss rad ska inkluderas.
I det här exempelet skapar vi ett nytt dataset som vi kallas iris_setosa. Det innehåller de rader som uppfyller villkoret att värdet på variabeln Species är “setosa”.
iris_setosa <- iris %>%filter(Species =="setosa")
Vi har nu ett dataset med 50 rader. På dessa rader är värdet på Species “setosa”. Notera ett par saker:
Vi skriver “setosa” inom citattecken. Utan citattecken skulle funktionen tro att vi syftade på ett objekt i R med namnet setosa.
Vi använder dubbla likhetstecken, dvs ==, när vi vill uttrycka ett villkor.
Om vi vill välja ut de rade där värdet på variablen Species inte är “setosa” kan vi använda !=, som betyder inte lika med:
Vårt nya dataset iris_not_setosa inkluderar de 100 rader i iris där värdet på Species inte är setosa.
select: Välj ut kolumner(variabler)
Med select kan vi skapa ett nytt dataset som enbart inkluderar vissa av variablerna. Följande kod skapar ett nytt dataset som bara innehåller variablerna Sepal.Length och Sepal.Width.
Ibland vill vi skapa nya variabler med hjälp av de ursprungliga variablerna. Vi kan till exempel vilja transformera en variabel. Följande kod skapar ett nytt dataset som heter iris_logged, med variabeln log(Sepal.Length).
Vi ser att raderna kommer i en ny ordning, och att de inte längre är sorterade efter variabeln Species.
Argumentet prop står för proportion, och prop=1 betyder att alla rader ska vara med i vårt nya dataset. Om vi istället hade skrivet exempelvis prop=0.5 hade bara hälften av raderna kommit med.
arrange: sortera en dataframe
Vi kan sortera en data.frame efter värdet på en variabel med funktionen arrange. Här sorterar vi datasetet iris så att de rader som har lägst värdet på Sepal.Length kommer först. Vi sorterar alltså variabeln i ökande ordning.
Om vi istället vill sortera datasetet i omvänd ordning, så att de rader där en viss variabel har det störtsa värdet kommer först, lägger vi till desc som i följande kod. Tillägget desc står för descending, eftersom vi nu sorterar variabeln i minskande ordning.